#pragma once




class CDynMultiDocTemplate : public CMultiDocTemplate
{
    DECLARE_DYNAMIC(CDynMultiDocTemplate)
public:
    CDynMultiDocTemplate(HINSTANCE hInst, UINT nIDResource, CRuntimeClass* pDocClass, CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass);
    virtual ~CDynMultiDocTemplate();
    virtual CDocument* OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE);

    virtual void    LoadTemplate();
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif
public:
    HINSTANCE    m_hInst;
    UINT        m_ResourceID;
};


// function pointer declarations
typedef CDynMultiDocTemplate* (*DLLDOCTEMPLATE)();